package cn.lau.pp.module.vr.service.device;

import java.util.*;
import javax.validation.*;
import cn.lau.pp.module.vr.controller.admin.device.vo.*;
import cn.lau.pp.module.vr.dal.dataobject.device.DeviceDO;
import cn.lau.pp.framework.common.pojo.PageResult;
import cn.lau.pp.framework.common.pojo.PageParam;

/**
 * vr设备 Service 接口
 *
 * @author Lau
 */
public interface DeviceService {

    /**
     * 创建vr设备
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createDevice(@Valid DeviceSaveReqVO createReqVO);

    void updateDeviceGame(@Valid DeviceUpdateGameReqVO deviceUpdateGameReqVO);

    /**
     * 更新vr设备
     *
     * @param updateReqVO 更新信息
     */
    void updateDevice(@Valid DeviceSaveReqVO updateReqVO);

    /**
     * 删除vr设备
     *
     * @param id 编号
     */
    void deleteDevice(Integer id);

    /**
     * 获得vr设备
     *
     * @param id 编号
     * @return vr设备
     */
    DeviceDO getDevice(Integer id);

    /**
     * 获得vr设备分页
     *
     * @param pageReqVO 分页查询
     * @return vr设备分页
     */
    PageResult<DeviceDO> getDevicePage(DevicePageReqVO pageReqVO);

}